iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 12
0
Modern Web

30天帶你潮玩Spring Boot Zone系列 第 12

[Day12] – Spring Boot VS SSH

  • 分享至 

  • xImage
  •  

閱讀時間: 10分鐘

有關兩者的詳細比較就不深入去講,今天就只是講出它們兩者的差別,以及為什麼用Spring Boot。
不過要定決使用一個最合適MVC就要按實際需要去分析。

Spring Boot是怎樣取代了SSH(Spring + Struts + Hibernate)呢?

首先就要了解一下傳統SSH的結構是怎樣及扮演什麼角色,及Spring Boot和SSH的比較。

SSH(Spring + Struts + Hibernate)是什麼?

Spring是一個開源的設計層面框架 ,它的作用是負責業務邏輯層和其他各層的鬆耦合問題,管理Strut和 Hibernate。

Struts是一個開源框架(MVC) ,它的作用是負責整個系統的基礎結構及MVC分離以幫助我們減少在運用MVC設計模型時所需的開發時間。而Struts會利用Hibernate對持久層提供支持。對於混合使用Servlets和 JSP的設計上,struts能有更好的效果。

Hibernate是一個開源的物件關係對映框架(orm框架) ,它的作用是負責對JDBC進行物件封裝,它將POJO與資料庫表建立對映關係,hibernate可以自動生成SQL語句,自動執行,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。

Spring Boot 和 SSH各自的MVC是怎樣?

SSH中MVC的分工是如下:

Model: Hibernate 會通過JavaBean來進行數據庫(資料庫)進行操作。成為Java 與數據庫的翻譯官。
View: 會通過JSP將資訊視像化讓用家能夠看到各種資料及進行互動。成為m一名出色的服務員。
Controller: Struts本身就是一個MVC框架,它會控制所有資訊流向,包括連接Model及View,成為一個執行司令官。
而Spring就凌駕於MVC之上,負責管理Struts和 Hibernate,及提供IOC容器和AOP功能。成為一個萬人之上的總指揮。

Spring Boot 與Spring MVC的關係就是Spring Boot以Spring MVC框架作為MVC框架,所以它們的運作理論是一樣,只要Spring Boot簡化了很多基礎配置。

Spring Boot中的MVC的分工是如下:

Model: Spring Data JPA是一種框架,主要針對是 Spring 唯一沒有簡化到的業務邏輯代碼,從而減少開發時間。而底層的技術依然都是Hibernate。
View: 會通過Html將資訊視像化讓用家能夠看到各種資料及進行互動(官方的配置放棄JSP,但如果想堅持以JSP作為View的重心都是可以的,不過需要特別配置)。
Controller: Spring MVC本身是一個MVC框架,可以取代Struts以增加開發速成及安全性。
而負責管理Spring MVC和Spring Data JPA依然是Spring,同時也提供IOC容器和AOP功能。
不過,在它們之上的是Spring Boot這個軟件產品,它在建立Spring項目上掌控整個設計及配置。

如果有興趣想繼續了解和學習的話,歡迎訂閱及留意小弟的文章。

參考文章/網站/書本:


上一篇
[Day 11] - @GetMapping 和 @RequestMapping 的比較及使用
下一篇
[Day 13] – 認識Spring Data JPA, JPA, Hibernate
系列文
30天帶你潮玩Spring Boot Zone15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言